變數可以儲存一項資料,但要儲存多筆資料的時候,往往就力不從心
int age1, age2, age3, age4, age5, age6, age7;
age重複了7次,這樣的重複是很大的困擾,但不要緊,我們有新的方法去使用。
這裡先用一下hannahpun大大的圖,因為這真的很精緻
你們都知道變量像是一個箱子,那麼vector如圖所示就是一個裝著很多變量的箱子,就像圖片所示那樣
如果難以理解的話可以當變量是一箱貨物?,而vector 就是裝著貨物的一個貨櫃這樣,而貨櫃多數裝著同類型的貨物,vector也一樣,基本上裝著一個類型的變量而已。
#include<vector>
vector<string> bags;
vector<string> bag(10);
vector<string> bag = {"屠龍刀","睏仙索","桂圓","?"};
10
是vector能存變量的大小(他會自動擴容)bag.emplace_back("豪大大?");
//bag現在包含了 {"屠龍刀","睏仙索","桂圓","?","豪大大雞排"}
bag.pop_back();
//bag現在包含了 {"屠龍刀","睏仙索","桂圓","?"}
cout << people_age[5];
// 輸出第六個variable, 因為 第一個叫 0....
cout << people_age.size();
// 7
people_age.resize(20);
// 20 是新vector的大小
cout << people_age.empty();
// false
其實Vector本身有三個兄弟(實際上不只),包括你們可能不知道的List,Deque 和你們一直在用的String。
那先重新介紹一下這四個東西
任務 | List | Vector | Deque |
---|---|---|---|
增刪結構元素 | 快 | 慢 | 中庸 |
讀取速度 | 慢 | 快 | 中庸 |
有興趣的人可以看看這個評測,裡面光看圖就可以了解三者的分別,但最常用的就是Vector。
String 就是一個內容為char
字元的 Vector ,但是他有比較多的函數可以使用,讓用的人更方便(String本身我會另寫一篇去解釋)
//引入
#include<vector>
#include<list>
#include<deque>
#include<string>
//建立
vector<int> numbers_v = {1,5,3,5,6,3,2};
list<int> numbers_l = {1,5,3,5,6,3,2};
deque<int> numbers_d = {1,5,3,5,6,3,2};
string numbers{"1535632"}
//建立 String
string str = "hello";
auto str = "hello"s;
auto str = "hello"sv; //這是constant不變String
// List 和 Deque 都有在前方插/刪除元素的功能
numbers_l.emplace_front(2);
numbers_d.emplace_front(4);
numbers_l.pop_front(2);
numbers_l.pop_front(2);
自己做的圖被別人用到也是蠻開心的!明明差不多概念東西真的在每個語言名稱都不一樣呢
謝謝你la
其實C++是為了向後兼容C和舊C++才改其他名字啦。很多Syntax都這樣。那個C的Array在功能上就差得遠了